package ${basepackage}.${service_project_name}.mapper;

import ${basepackage}.${base_project_name}.mapper.${table.className}Mapper;
import ${basepackage}.${service_project_name}.domin.${table.className}Bean;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;

import ac.zlf.maven.mybatis.page.Page;
import ac.zlf.maven.mybatis.page.PageParam;

@Mapper
public interface ${table.className}BeanMapper extends ${table.className}Mapper {

    /**
     * 通过ID查找bean
     * @param id        [必填] ID
     * @return          如果能查询到，返回bean对象；如果查询不到，返回null
     */
    public ${table.className}Bean selectBeanById(@Param("id") ${table.idColumn.simpleJavaType} ${table.idColumn.columnNameFirstLower});

    /**
     * 分页查找
     * @param pageParam        [必填] PageRequest对象
     * @param ${table.classNameFirstLower}Bean        [必填] 分页条件
     * @return                   分页对象
     */
    public Page<${table.className}Bean> selectBeanPage(@Param("pageParam") PageParam pageParam, @Param("entity") ${table.className}Bean ${table.classNameFirstLower}Bean);

    /**
     * 查找所有指定条件对象
     * @param ${table.classNameFirstLower}Bean        [必填] 查询条件
     * @return                   满足条件的对象集合
     */
    public List<${table.className}Bean> selectBeanAll(@Param("entity") ${table.className}Bean ${table.classNameFirstLower}Bean);


    public void insertPath(@Param("${table.classNameFirstLower}BeanList") List<${table.className}Bean> ${table.classNameFirstLower}BeanList);
}